package com.cac.demo.newCode.sorting.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 出库申请单明细表
 * </p>
 *
 * @author xz
 * @since 2024-08-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("WMS_INV_OUT_BILL_L")
public class WmsInvOutBillL implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 子表主键ID
     */
    @TableId("WMS_INV_OUT_BILL_L_ID")
    private String wmsInvOutBillLId;

    /**
     * 主表ID
     */
    @TableField("WMS_INV_OUT_BILL_H_ID")
    private String wmsInvOutBillHId;

    @TableField("WMS_REQUIRED_LIST_ID")
    private String wmsRequiredListId;

    /**
     * 单据状态 ^0-编辑中，5-已确认，10-审批通过，15-部分配套，20-已配套，23-已交检，24-已检验，25-已定位配套库，27-检验驳回，30-部分发放，35-已发放满足，37-配送退回，40-已接收，45-已关闭
     */
    @TableField("O_STATUS")
    private String oStatus;

    /**
     * 申请物料编码
     */
    @TableField("APPLY_ITEM_CODE")
    private String applyItemCode;

    /**
     * 审批和发放的物料编码^ 有代料时，申请物料和发放物料可能不一致。
     */
    @TableField("ITEM_CODE")
    private String itemCode;

    /**
     * 成品父件编码
     */
    @TableField("PARENT_ITEM_CODE")
    private String parentItemCode;

    /**
     * 申请数量
     */
    @TableField("APPLY_QTY")
    private BigDecimal applyQty;

    /**
     * 出库数量
     */
    @TableField("OUT_QTY")
    private BigDecimal outQty;

    /**
     * 出库日期
     */
    @TableField("OUT_DATE")
    private LocalDateTime outDate;

    /**
     * AO清单二次配套需求数量
     */
    @TableField("SECOND_APPLY_QTY")
    private BigDecimal secondApplyQty;

    /**
     * 需求件数 ^ 当申请物料为原材料时，此处记录需求的毛料件数，此时该字段才有。
     */
    @TableField("DEMAND_NUMBER")
    private Long demandNumber;

    /**
     * 质量编号
     */
    @TableField("QUALITY_CODE")
    private String qualityCode;

    /**
     * 供应商编码
     */
    @TableField("SRM_SUPPLY_CODE")
    private String srmSupplyCode;

    /**
     * 是否代用^ 0否，1是
     */
    @TableField("IS_SUBSTITUTE")
    private String isSubstitute;

    /**
     * 备注
     */
    @TableField("REMARK")
    private String remark;

    /**
     * 创建人
     */
    @TableField("CREATED_BY")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField("CREATION_DATE")
    private LocalDateTime creationDate;

    /**
     * 最后修改人
     */
    @TableField("LAST_UPDATED_BY")
    private String lastUpdatedBy;

    /**
     * 最后修改时间
     */
    @TableField("LAST_UPDATE_DATE")
    private LocalDateTime lastUpdateDate;

    /**
     * 最后更新IP
     */
    @TableField("LAST_UPDATE_IP")
    private String lastUpdateIp;

    /**
     * 版本
     */
    @TableField("VERSION")
    private Long version;

    /**
     * 炉批号 ^ 供方合格证号或者炉批号
     */
    @TableField("SUPPLY_REGULAR_NO")
    private String supplyRegularNo;

    /**
     * 炉号 ^ 
     */
    @TableField("SUPPLY_FURNACE_NO")
    private String supplyFurnaceNo;

    /**
     * 批号 ^ 
     */
    @TableField("SUPPLY_BATCH_NO")
    private String supplyBatchNo;

    /**
     * 成品配套标识，0不配套，1未配套，2已配套
     */
    @TableField("F_KIT_FLAG")
    private String fKitFlag;

    /**
     * 成品层次号
     */
    @TableField("F_LEVEL_NO")
    private BigDecimal fLevelNo;

    /**
     * 成品序号
     */
    @TableField("F_SEQUENCE_NO")
    private BigDecimal fSequenceNo;

    /**
     * 是否下料：Y下料，N不需下料
     */
    @TableField("BLANKING_FLAG")
    private String blankingFlag;

    /**
     * 成品装前实验标记，Y试验，N不试验
     */
    @TableField("TEST_FLAG")
    private String testFlag;

    /**
     * 是否配送；Y配送，N领用
     */
    @TableField("DELIVERY_FLAG")
    private String deliveryFlag;

    /**
     * 是否在途 ^ 0否，1是
     */
    @TableField("ON_THE_WAY")
    private String onTheWay;

    /**
     * 退库类型^ 0非退库，1余料退库，2工艺退库，3故障品退库
     */
    @TableField("RET_TYPE")
    private String retType;

    /**
     * 退库原因^
     */
    @TableField("RET_REASON")
    private String retReason;

    /**
     * 实际发放数量
     */
    @TableField("REAL_OUT_QTY")
    private BigDecimal realOutQty;

    /**
     * 保留单号、rfv故障单号
     */
    @TableField("SUBSTITUTE_CODE")
    private String substituteCode;

    /**
     * 领用部门ID
     */
    @TableField("RECEIVE_DEPT_ID")
    private String receiveDeptId;

    /**
     * 领用人ID
     */
    @TableField("RECEIVE_USER_ID")
    private String receiveUserId;

    /**
     * 领用日期
     */
    @TableField("RECEIVE_DATE")
    private LocalDateTime receiveDate;

    /**
     * 领用数量
     */
    @TableField("RECEIVE_QTY")
    private BigDecimal receiveQty;

    /**
     * 是否退库标记^ 0正常出库单，1领用退库单
     */
    @TableField("RET_FLAG")
    private String retFlag;

    /**
     * 是否对冲标记^ 0不对冲，1对冲
     */
    @TableField("BACK_FLAG")
    private String backFlag;

    /**
     * 对冲出库单ID ^ 对于冲账与被冲的出库单分别是对方的出库单ID
     */
    @TableField("BACK_OUT_BILL_L_ID")
    private String backOutBillLId;

    /**
     * 对冲流水ID
     */
    @TableField("BACK_TRANSACTION_ID")
    private String backTransactionId;

    /**
     * 保管拒绝代码
     */
    @TableField("REJECT_CODE")
    private String rejectCode;

    /**
     * 拒绝原因
     */
    @TableField("REJECT_REASON")
    private String rejectReason;

    /**
     * 财务结算标记^ 1未结算，2结算失败，3结算成功
     */
    @TableField("SETTLEMENT_FLAG")
    private String settlementFlag;

    /**
     * 财务结算日期^
     */
    @TableField("SETTLEMENT_DATE")
    private LocalDateTime settlementDate;

    /**
     * 财务结算备注^
     */
    @TableField("SETTLEMENT_RMARK")
    private String settlementRmark;

    /**
     * 稽核标记^ 0未稽核，1已稽核（现用于成品保管是否退回给计划 0-未退回，1-已退回）
     */
    @TableField("AUDIT_FLAG")
    private String auditFlag;

    /**
     * 稽核日期^
     */
    @TableField("AUDIT_DATE")
    private LocalDateTime auditDate;

    /**
     * 稽核人
     */
    @TableField("AUDIT_USER")
    private String auditUser;

    /**
     * 稽核备注(现用于AO清单更改备注，以及成品保管退回给计划员的退回原因)
     */
    @TableField("AUDIT_REMARK")
    private String auditRemark;

    /**
     * 数据来源^ 0手工维护，MES-ao需求和原材料，INV交接出库，IMM直接发放,WZ物资领用，MAT下料出库,MFO由mes来的fo小组件需求，CPP来源于成品批料,IFO专业厂库房领用材料，IQS质量模块技术服务部出库,DZ锻铸件需求出库,GEL超期品出库
     */
    @TableField("CONTENT_SOURCE")
    private String contentSource;

    /**
     * 工作流实例ID
     */
    @TableField("PROCESSINSTANCEID")
    private String processinstanceid;

    /**
     * 工艺状态号
     */
    @TableField("ATTRIBUTE20")
    private String attribute20;

    /**
     * 是否有替换件 'true':有
     */
    @TableField("ATTRIBUTE19")
    private String attribute19;

    /**
     * 自定义字段18  台账id
     */
    @TableField("ATTRIBUTE18")
    private String attribute18;

    /**
     * 自定义字段17  交接单id
     */
    @TableField("ATTRIBUTE17")
    private String attribute17;

    /**
     * 自定义字段16  占用表id
     */
    @TableField("ATTRIBUTE16")
    private String attribute16;

    /**
     * 自定义字段15
     */
    @TableField("ATTRIBUTE15")
    private String attribute15;

    /**
     * 自定义字段14
     */
    @TableField("ATTRIBUTE14")
    private String attribute14;

    /**
     * 自定义字段13
     */
    @TableField("ATTRIBUTE13")
    private String attribute13;

    /**
     * 自定义字段12
     */
    @TableField("ATTRIBUTE12")
    private String attribute12;

    /**
     * 自定义字段11
     */
    @TableField("ATTRIBUTE11")
    private String attribute11;

    /**
     * 自定义字段10
     */
    @TableField("ATTRIBUTE10")
    private String attribute10;

    /**
     * 自定义字段9
     */
    @TableField("ATTRIBUTE9")
    private String attribute9;

    /**
     * 自定义字段8
     */
    @TableField("ATTRIBUTE8")
    private String attribute8;

    /**
     * 自定义字段7
     */
    @TableField("ATTRIBUTE7")
    private String attribute7;

    /**
     * 技服出库应用备份字段
     */
    @TableField("ATTRIBUTE6")
    private String attribute6;

    /**
     * 自定义字段5
     */
    @TableField("ATTRIBUTE5")
    private String attribute5;

    /**
     * 自定义字段4
     */
    @TableField("ATTRIBUTE4")
    private String attribute4;

    /**
     * 自定义字段3
     */
    @TableField("ATTRIBUTE3")
    private String attribute3;

    /**
     * 自定义字段2
     */
    @TableField("ATTRIBUTE2")
    private String attribute2;

    /**
     * 自定义字段1
     */
    @TableField("ATTRIBUTE1")
    private String attribute1;

    /**
     * 弹性域上下文
     */
    @TableField("ATTRIBUTE_CATEGORY")
    private String attributeCategory;

    /**
     * ATTRIBUTE20描述
     */
    @TableField("ATTRIBUTE20_DESC")
    private String attribute20Desc;

    /**
     * ATTRIBUTE19描述
     */
    @TableField("ATTRIBUTE19_DESC")
    private String attribute19Desc;

    /**
     * ATTRIBUTE18描述
     */
    @TableField("ATTRIBUTE18_DESC")
    private String attribute18Desc;

    /**
     * ATTRIBUTE17描述
     */
    @TableField("ATTRIBUTE17_DESC")
    private String attribute17Desc;

    /**
     * ATTRIBUTE16描述
     */
    @TableField("ATTRIBUTE16_DESC")
    private String attribute16Desc;

    /**
     * ATTRIBUTE15描述
     */
    @TableField("ATTRIBUTE15_DESC")
    private String attribute15Desc;

    /**
     * ATTRIBUTE14描述
     */
    @TableField("ATTRIBUTE14_DESC")
    private String attribute14Desc;

    /**
     * ATTRIBUTE13描述
     */
    @TableField("ATTRIBUTE13_DESC")
    private String attribute13Desc;

    /**
     * ATTRIBUTE12描述
     */
    @TableField("ATTRIBUTE12_DESC")
    private String attribute12Desc;

    /**
     * ATTRIBUTE11描述
     */
    @TableField("ATTRIBUTE11_DESC")
    private String attribute11Desc;

    /**
     * ATTRIBUTE10描述
     */
    @TableField("ATTRIBUTE10_DESC")
    private String attribute10Desc;

    /**
     * ATTRIBUTE9描述
     */
    @TableField("ATTRIBUTE9_DESC")
    private String attribute9Desc;

    /**
     * ATTRIBUTE8描述
     */
    @TableField("ATTRIBUTE8_DESC")
    private String attribute8Desc;

    /**
     * ATTRIBUTE7描述
     */
    @TableField("ATTRIBUTE7_DESC")
    private String attribute7Desc;

    /**
     * ATTRIBUTE6描述
     */
    @TableField("ATTRIBUTE6_DESC")
    private String attribute6Desc;

    /**
     * ATTRIBUTE5描述
     */
    @TableField("ATTRIBUTE5_DESC")
    private String attribute5Desc;

    /**
     * ATTRIBUTE4描述
     */
    @TableField("ATTRIBUTE4_DESC")
    private String attribute4Desc;

    /**
     * ATTRIBUTE3描述
     */
    @TableField("ATTRIBUTE3_DESC")
    private String attribute3Desc;

    /**
     * ATTRIBUTE2描述
     */
    @TableField("ATTRIBUTE2_DESC")
    private String attribute2Desc;

    /**
     * ATTRIBUTE1描述
     */
    @TableField("ATTRIBUTE1_DESC")
    private String attribute1Desc;

    /**
     * 密级
     */
    @TableField("SECURITY_LEVEL")
    private BigDecimal securityLevel;

    /**
     * 使用寿命期/总寿命期： 不可翻修的成品为使用寿命期，可翻修的成品为总寿命期。
     */
    @TableField("MAX_USED_DATE")
    private LocalDateTime maxUsedDate;

    /**
     * 出库人
     */
    @TableField("INV_USER_ID")
    private String invUserId;

    /**
     * 来自ao出库，记录ao清单id
     */
    @TableField("MDS_AO_LIST_ID")
    private String mdsAoListId;

    /**
     * 限用发放标记 Y是，N 否
     */
    @TableField("LIMIT_FLAG")
    private String limitFlag;

    /**
     * 成品型号
     */
    @TableField("M_PRODUCT_NUMBER")
    private String mProductNumber;

    /**
     * 技术协议号
     */
    @TableField("M_AGREEMENT_NUMBER")
    private String mAgreementNumber;

    /**
     * 单机数量
     */
    @TableField("ITEM_PLANE_QTY")
    private BigDecimal itemPlaneQty;

    /**
     * 成品父件型号
     */
    @TableField("M_PARENT_NUMBER")
    private String mParentNumber;

    /**
     * 文件号
     */
    @TableField("FILE_NO")
    private String fileNo;

    /**
     * 合同号/交付合同号
     */
    @TableField("CONTRACT_NO")
    private String contractNo;

    /**
     * 比例（备件交付比例）
     */
    @TableField("PROPORTION")
    private String proportion;

    /**
     * 质量证明文件（合格证、履历本、无）--技服备件用
     */
    @TableField("QUALITY_TYPE")
    private String qualityType;

    /**
     * 运输箱号（试飞站用）
     */
    @TableField("TRANSPORT_BOX_NO")
    private String transportBoxNo;

    /**
     * 计划员指定（建议）出库数量
     */
    @TableField("ADVICE_PLAN_QTY")
    private BigDecimal advicePlanQty;

    /**
     * 民机数据手工维护是否保留，0-正常发放，1-保留发放
     */
    @TableField("RESERVATION_STATUS")
    private String reservationStatus;

    /**
     * 任务流水号
     */
    @TableField("TASK_NUMBER")
    private String taskNumber;

    /**
     * 要求发放时间
     */
    @TableField("REQUIRE_APPROVE_DATE")
    private LocalDateTime requireApproveDate;

    /**
     * 发放进度
     */
    @TableField("APPROVE_PROGRESS")
    private String approveProgress;

    /**
     * 发放备注
     */
    @TableField("APPROVE_NOTE")
    private String approveNote;

    /**
     * 申请物料ID
     */
    @TableField("APPLY_ITEM_ID")
    private String applyItemId;

    /**
     * 成品父件ID ^
     */
    @TableField("PARENT_ITEM_ID")
    private String parentItemId;

    /**
     * 计量单位ID
     */
    @TableField("MDS_UNIT_ID")
    private String mdsUnitId;

    /**
     * 审批和发放的物料ID^ 有代料时，申请物料和发放物料可能不一致。
     */
    @TableField("MDS_ITEM_ID")
    private String mdsItemId;

    /**
     * 计划价格
     */
    @TableField("PLAN_PRICE")
    private BigDecimal planPrice;

    /**
     * 实际价格，即合同价格
     */
    @TableField("ACTUAL_PRICE")
    private BigDecimal actualPrice;

    /**
     * 币种
     */
    @TableField("MONEY_TYPE")
    private String moneyType;

    /**
     * 供应商 ^
     */
    @TableField("SRM_SUPPLY_ID")
    private String srmSupplyId;

    /**
     * 原始单据子表ID
     */
    @TableField("ORIGINAL_ORDER_DETAIL_ID")
    private String originalOrderDetailId;

    /**
     * 装配图号
     */
    @TableField("REPART_ASS")
    private String repartAss;

    @TableField("IS_RETURN")
    private String isReturn;

    /**
     * 工序号
     */
    @TableField("OP_NO")
    private String opNo;

    /**
     * Y:作废 N:正常使用
     */
    @TableField("OP_STATUS")
    private String opStatus;

    /**
     * 标件是否已核实
     */
    @TableField("IS_CHECK")
    private String isCheck;


}
